using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;

/// <summary>
/// Summary description for Persona
/// </summary>
public class Persona
{
	public Persona()
	{
		//
		// TODO: Add constructor logic here
		//
	}
    //@nro_documento varchar(20), @cod_tipo_documento numeric(5), 
    //@nombres varchar(50), @apellidos varchar(50), @direccion varchar(100),
    //@email varchar(70)
    public static void agregar(long nro_documento, int cod_tipo_documento, string nombres, string apellidos, string direccion, string email)
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);

            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.CommandText = "[sp_agregar_persona]";
            comando.Parameters.Add(Conexion.CrearParametro("@nro_documento", nro_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@cod_tipo_documento", cod_tipo_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@nombres", nombres));
            comando.Parameters.Add(Conexion.CrearParametro("@apellidos", apellidos));
            comando.Parameters.Add(Conexion.CrearParametro("@direccion", direccion));
            comando.Parameters.Add(Conexion.CrearParametro("@email", email));
            comando.ExecuteNonQuery();

        }
        finally
        {
            conexion.Close();
        }
    }
    public static void borrar(long nro_documento, int cod_tipo_documento)
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);

            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.CommandText = "[sp_borrar_persona]";
            comando.Parameters.Add(Conexion.CrearParametro("@nro_documento", nro_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@cod_tipo_documento", cod_tipo_documento));
            comando.ExecuteNonQuery();
        }
        finally
        {
            conexion.Close();
        }
    }
 //   @nro_documento varchar(20),@cod_tipo_documento numeric(5),
 //@nombres varchar(50), @apellidos varchar(50), @direccion varchar(100), @email varchar(70)
    public static void modificar(long nro_documento, int cod_tipo_documento, string nombres, string apellidos, string direccion, string email)
    {
        SqlConnection conexion = null;

        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);

            comando.CommandType = System.Data.CommandType.StoredProcedure;
            comando.CommandText = "[sp_modificar_persona]";
            comando.Parameters.Add(Conexion.CrearParametro("@nro_documento", nro_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@cod_tipo_documento", cod_tipo_documento));
            comando.Parameters.Add(Conexion.CrearParametro("@nombres", nombres));
            comando.Parameters.Add(Conexion.CrearParametro("@apellidos", apellidos));
            comando.Parameters.Add(Conexion.CrearParametro("@direccion", direccion));
            comando.Parameters.Add(Conexion.CrearParametro("@email", email));
            comando.ExecuteNonQuery();

        }
        finally
        {
            conexion.Close();
        }
    }
    public static int verificarSiExiste(int codTipoDocumento, long nroDocumento){
        
        String cadena = (String)ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlConnection conexion = new SqlConnection(cadena);
        SqlCommand comando = new SqlCommand("if exists (select * from personas where cod_tipo_documento= " + codTipoDocumento + " and nro_documento=" + nroDocumento + ") begin  select '1' end else begin select '-1' end", conexion);
        try
        {
            conexion.Open();
            comando.CommandType = System.Data.CommandType.Text;
            //comando.CommandText = "if not exists (select * from personas where cod_tipo_documento= " + codTipoDocumento+ " and nro_documento=" + nroDocumento + ") begin  select '0' end else begin select '-1' end";
            SqlDataReader read = comando.ExecuteReader();           
            read.Read();
            int respuesta = Convert.ToInt32(read.GetValue(0));
            read.Close();
            return respuesta;
        }
        finally
        {
            conexion.Close();
        }
    }
}
